判断修炼召唤兽选项 = function(id, 事件, 人修)
	local 任务id = 玩家数据[id].角色:取任务(13)

	if 任务数据[任务id] == nil or 任务数据[任务id].分类 ~= 15 then
		return
	end

	local 选项 = {}
	local 模型 = 任务数据[任务id].bb

	for n = 1, #玩家数据[id].召唤兽.数据 do
		if 玩家数据[id].召唤兽.数据[n].模型 == 模型 and 玩家数据[id].召唤兽.数据[n].种类 == "变异" then
			选项[#选项 + 1] = {
				对话 = format("%s,等级:%s", 玩家数据[id].召唤兽.数据[n].名称, 玩家数据[id].召唤兽.数据[n].等级),
				编号 = n
			}
		end
	end

	for n = 1, #选项 do
		if 选项[n].对话 == 事件 then
			玩家数据[id].召唤兽:删除处理(id, 选项[n].编号)

			local 人修1 = nil

			if 人修 == "人修bb" then
				人修1 = 1
			end

			任务处理类:完成宠修任务(id, 任务id, 人修1)

			return
		end
	end

	添加最后对话(id, "你所选的这只召唤兽并不是对方想要的")
end

取符合修炼召唤兽选项 = function(id)
	local 任务id = 玩家数据[id].角色:取任务(13)

	if 任务数据[任务id] == nil or 任务数据[任务id].分类 ~= 15 then
		return
	end

	local 选项 = {}
	local 模型 = 任务数据[任务id].bb

	for n = 1, #玩家数据[id].召唤兽.数据 do
		if 玩家数据[id].召唤兽.数据[n].模型 == 模型 and 玩家数据[id].召唤兽.数据[n].种类 == "变异" then
			选项[#选项 + 1] = format("%s,等级:%s", 玩家数据[id].召唤兽.数据[n].名称, 玩家数据[id].召唤兽.数据[n].等级)
		end
	end

	return 选项
end

取通用任务物品 = function(id, 任务, 指定数据, 全部上交)
	local 任务id, 物品, 筛选条件 = nil
	local 选项 = {}
	local 包裹数据 = 玩家数据[id].角色.数据.道具

	if 指定数据 ~= nil then
		if 指定数据.指定道具 ~= nil then
			物品 = 指定数据.指定道具

			if 物品.法宝 ~= nil then
				物品 = 列表1合并到列表2(法宝列表1, 物品)
				包裹数据 = 玩家数据[id].角色.数据.法宝
			end
		end

		筛选条件 = 指定数据.筛选条件
	else
		if 任务 == nil then
			return
		end

		任务id = 玩家数据[id].角色:取任务(任务)

		if 任务id == nil or 任务数据[任务id] == nil then
			return
		end

		物品 = {
			[任务数据[任务id].物品] = 1
		}
	end

	上交物品位置[id] = {}

	for n = 1, 道具行囊页数 * 20 do
		local dj = 包裹数据[n]

		if dj ~= nil and 玩家数据[id].道具.数据[dj] ~= nil and 物品[玩家数据[id].道具.数据[dj].名称] ~= nil then
			local 通过 = true

			if 筛选条件 ~= nil and #筛选条件 > 0 then
				for i = 1, #筛选条件 do
					local aa = 筛选条件[i]

					if #aa >= 3 then
						if aa[2] == "等于" then
							if not 玩家数据[id].道具.数据[dj][aa[1]] == aa[3] then
								通过 = false

								break
							end
						elseif aa[2] == "大于" then
							if tonumber(玩家数据[id].道具.数据[dj][aa[1]]) <= tonumber(aa[3]) then
								通过 = false

								break
							end
						elseif aa[2] == "小于" then
							if tonumber(aa[3]) <= tonumber(玩家数据[id].道具.数据[dj][aa[1]]) then
								通过 = false

								break
							end
						elseif aa[2] == "大等" then
							if tonumber(玩家数据[id].道具.数据[dj][aa[1]]) < tonumber(aa[3]) then
								通过 = false

								break
							end
						elseif aa[2] == "小等" then
							if tonumber(aa[3]) < tonumber(玩家数据[id].道具.数据[dj][aa[1]]) then
								通过 = false

								break
							end
						elseif aa[2] == "不等" and not 玩家数据[id].道具.数据[dj][aa[1]] ~= aa[3] then
							通过 = false

							break
						end
					end
				end
			end

			if 通过 then
				local mc = "[" .. n .. "]" .. 玩家数据[id].道具.数据[dj].名称

				if 玩家数据[id].道具.数据[dj].可叠加 == true then
					mc = "[" .. n .. "]" .. 玩家数据[id].道具.数据[dj].名称 .. ",数量:" .. tostring(玩家数据[id].道具.数据[dj].数量 or 1)
				end

				if 法宝列表1[玩家数据[id].道具.数据[dj].名称] ~= nil then
					选项[#选项 + 1] = format("%s,级别:%s,灵气:%s", mc, 玩家数据[id].道具.数据[dj].分类, 玩家数据[id].道具.数据[dj].魔法)
				elseif 书铁列表1[玩家数据[id].道具.数据[dj].名称] ~= nil then
					local aa = 书铁列表1[玩家数据[id].道具.数据[dj].名称]

					if aa == 2 then
						选项[#选项 + 1] = format("%s,等级:%s 种类:%s", mc, 玩家数据[id].道具.数据[dj].子类, 书铁范围[玩家数据[id].道具.数据[dj].特效])
					elseif aa == 1 then
						选项[#选项 + 1] = format("%s,等级:%s 种类:%s", mc, 玩家数据[id].道具.数据[dj].子类, 玩家数据[id].道具.数据[dj].特效)
					else
						选项[#选项 + 1] = format("%s,等级:%s", mc, 玩家数据[id].道具.数据[dj].子类)
					end
				elseif 玩家数据[id].道具.数据[dj].阶品 ~= nil then
					选项[#选项 + 1] = format("%s,品质:%s", mc, 玩家数据[id].道具.数据[dj].阶品)
				elseif 玩家数据[id].道具.数据[dj].附带技能 then
					local jn = ""

					if type(玩家数据[id].道具.数据[dj].附带技能) == "table" then
						for i = 1, #玩家数据[id].道具.数据[dj].附带技能 do
							jn = jn .. 玩家数据[id].道具.数据[dj].附带技能[i] .. " "
						end
					else
						jn = 玩家数据[id].道具.数据[dj].附带技能
					end

					选项[#选项 + 1] = format("%s,技能:%s", mc, jn)
				else
					选项[#选项 + 1] = format("%s", mc)
				end

				上交物品位置[id][#上交物品位置[id] + 1] = {
					道具位置 = dj + 0,
					背包位置 = n,
					名称 = 玩家数据[id].道具.数据[dj].名称,
					对话内容 = 选项[#选项]
				}
			end
		end
	end

	local 未找到 = 1

	if 全部上交 ~= nil then
		选项[#选项 + 1] = format("全部上交")
		未找到 = 未找到 + 1
	end

	选项[#选项 + 1] = format("手动给予物品")

	if 未找到 >= #选项 then
		常规提示(id, "#P(快捷提交物品)#Y背包中未找到相关物品。")
	end

	return 选项
end

判断任务召唤兽选项 = function(id, 事件)
	local 任务id = 玩家数据[id].角色:取任务("飞升剧情")

	if 任务数据[任务id] == nil or 任务数据[任务id].进程 ~= 10 then
		return
	end

	local 选项 = {}

	for n = 1, #玩家数据[id].召唤兽.数据 do
		if 玩家数据[id].召唤兽.数据[n].模型 == 任务数据[任务id].bb[1].名称 and 任务数据[任务id].bb[1].找到 == false then
			任务数据[任务id].bb[1].找到 = true
			选项[#选项 + 1] = {
				对话 = format("%s,等级:%s", 玩家数据[id].召唤兽.数据[n].名称, 玩家数据[id].召唤兽.数据[n].等级),
				编号 = n
			}
		end
	end

	for n = 1, #选项 do
		玩家数据[id].召唤兽:删除处理(id, 选项[n].编号)
	end
end

取符合任务召唤兽选项 = function(id)
	local 任务id = 玩家数据[id].角色:取任务("飞升剧情")

	if 任务数据[任务id] == nil or 任务数据[任务id].进程 ~= 10 then
		return
	end

	local 选项 = {}

	for n = 1, #玩家数据[id].召唤兽.数据 do
		if 玩家数据[id].召唤兽.数据[n].模型 == 任务数据[任务id].bb[1].名称 then
			选项[#选项 + 1] = format("%s,等级:%s", 玩家数据[id].召唤兽.数据[n].名称, 玩家数据[id].召唤兽.数据[n].等级)
		end
	end

	return 选项
end

神武修炼经验表 = {
	104,
	159,
	257,
	413,
	644,
	969,
	1407,
	1980,
	2707,
	3612,
	4717,
	6048,
	7628,
	9484,
	11642,
	14131,
	16977,
	20210,
	23860,
	27957,
	32533,
	43261,
	56620,
	72251,
	90268,
	110575,
	132723,
	157039,
	183297,
	216666
}

计算修炼等级经验 = function(等级, 上限)
	if 等级 < 30 then
		return 神武修炼经验表[等级 + 1]
	else
		return 999999
	end
end

法宝经验 = {
	{
		469350,
		712000,
		2028000,
		4469000,
		8500000,
		14424000,
		22652000,
		33568000,
		47556000
	},
	{
		210268,
		472144,
		1082236,
		2237152,
		4133500,
		6967888,
		10936924,
		16237216,
		23065372,
		31618000,
		40000000,
		54683104
	},
	{
		199452,
		385616,
		790204,
		1544928,
		2781500,
		4631632,
		7227036,
		10699424,
		15180508,
		20802000,
		27695612,
		35993056,
		45826044,
		57326288,
		70625500
	},
	{
		1834389,
		2935112,
		4348503,
		6220896,
		8698625,
		11928024,
		16055427,
		21227168,
		27589581,
		35289000,
		44471759,
		55284192,
		67872633,
		82383416,
		98962875,
		117757344,
		138913157,
		162576648
	}
}
技能消耗 = {
	经验 = {
		16,
		32,
		52,
		75,
		103,
		136,
		179,
		231,
		295,
		372,
		466,
		578,
		711,
		867,
		1049,
		1260,
		1503,
		1780,
		2096,
		2452,
		2854,
		3304,
		3807,
		4364,
		4983,
		5664,
		6415,
		7238,
		8138,
		9120,
		10188,
		11347,
		12602,
		13959,
		15423,
		16998,
		18692,
		20508,
		22452,
		24532,
		26753,
		29121,
		31642,
		34323,
		37169,
		40188,
		43388,
		46773,
		50352,
		54132,
		58120,
		62324,
		66750,
		71407,
		76303,
		81444,
		86840,
		92500,
		98430,
		104640,
		111136,
		117931,
		125031,
		132444,
		140183,
		148253,
		156666,
		165430,
		174556,
		184052,
		193930,
		204198,
		214868,
		225948,
		237449,
		249383,
		261760,
		274589,
		287884,
		301652,
		315908,
		330662,
		345924,
		361708,
		378023,
		394882,
		412297,
		430280,
		448844,
		468000,
		487760,
		508137,
		529145,
		550796,
		573103,
		596078,
		619735,
		644088,
		669149,
		694932,
		721452,
		748722,
		776755,
		805566,
		835169,
		865579,
		896809,
		928876,
		961792,
		995572,
		1030234,
		1065190,
		1102256,
		1139649,
		1177983,
		1217273,
		1256104,
		1298787,
		1341043,
		1384320,
		1428632,
		1473999,
		1520435,
		1567957,
		1616583,
		1666328,
		1717211,
		1769248,
		1822456,
		1876852,
		1932456,
		1989284,
		2047353,
		2106682,
		2167289,
		2229192,
		2292410,
		2356960,
		2422861,
		2490132,
		2558792,
		2628860,
		2700356,
		2773296,
		2847703,
		2923593,
		3000989,
		3079908,
		3160372,
		3242400,
		6652022,
		6822452,
		6996132,
		7173104,
		7353406,
		11305620,
		11586254,
		11872072,
		12163140,
		12459518,
		15033471,
		15315219,
		15600468,
		15889236,
		16181550,
		16477425,
		16776885,
		17079954,
		17386650,
		17697000,
		24014692,
		24438308,
		24866880,
		25300432,
		25739000,
		32728255,
		33289095,
		33856310,
		34492930,
		40842000
	}
}

for n = 181, 250 do
	技能消耗.经验[n] = 技能消耗.经验[180]
end

技能消耗.金钱 = {
	6,
	12,
	19,
	28,
	38,
	51,
	67,
	86,
	110,
	139,
	174,
	216,
	266,
	325,
	393,
	472,
	563,
	667,
	786,
	919,
	1070,
	1238,
	1426,
	1636,
	1868,
	2124,
	2404,
	2714,
	3050,
	3420,
	3820,
	4255,
	4725,
	5234,
	5783,
	6374,
	7009,
	7690,
	8419,
	9199,
	10032,
	10920,
	11865,
	12871,
	13938,
	15070,
	16270,
	17540,
	18882,
	20299,
	21795,
	23371,
	25031,
	26777,
	28613,
	30541,
	32565,
	34687,
	36911,
	39240,
	41676,
	44224,
	46886,
	49666,
	52568,
	55595,
	58749,
	62036,
	65458,
	69019,
	72723,
	76574,
	80575,
	84730,
	89043,
	93518,
	98160,
	102971,
	107956,
	113119,
	118465,
	123998,
	129721,
	135640,
	141758,
	148080,
	154611,
	161355,
	168316,
	175500,
	182910,
	190551,
	198429,
	206548,
	214913,
	223529,
	232400,
	241533,
	250931,
	260599,
	270544,
	280770,
	291283,
	302087,
	313188,
	324592,
	336303,
	348328,
	360672,
	373339,
	386337,
	399671,
	413346,
	427368,
	441743,
	456477,
	471576,
	487045,
	502891,
	519120,
	535737,
	552749,
	570163,
	587984,
	606218,
	624873,
	643954,
	663468,
	683421,
	703819,
	724671,
	745981,
	767757,
	790005,
	812733,
	835947,
	859653,
	883860,
	908573,
	933799,
	959547,
	985822,
	1012633,
	1039986,
	1067888,
	1096347,
	1125371,
	1154965,
	1185139,
	1215900,
	2494508,
	2558419,
	2623549,
	2689914,
	2757527,
	4239607,
	4344845,
	4452027,
	4561177,
	4672319,
	450041,
	4594563,
	4680138,
	4766769,
	4854465,
	4943226,
	5033064,
	5123985,
	5215995,
	5309100,
	7204407,
	7331490,
	7460064,
	7590129,
	7721700,
	9818475,
	9986727,
	10156893,
	10328979,
	12252600
}

for n = 181, 250 do
	技能消耗.金钱[n] = 技能消耗.金钱[180]
end
